Large enterprises often encounter situations where many projects compete for limited resources. The resources may include people, computing systems, and services, to name only a few examples. Resource management often needs to be addressed in a time-sensitive context to permit successful completion of projects in a cost-effective manner to satisfy the customer. The problem this presents is how to flexibly represent and efficiently manage resource contention involving large numbers of resources and projects utilizing these resources. Typically, this is a problem poorly solved at the enterprise level, and often results in sub-optimal, ad-hoc solutions implemented at the individual project level.
By way of illustration, a manager planning a project is already familiar with the experience of various employees within his or her group. The manager may meet with those employees, or a subgroup of these employees, to get an idea of their familiarity with the proposed project, their current workload, and their availability to take on another project. The manager may then assign those employees having sufficient capability and availability to work on the project. This process encounters resource contention problems when many managers need to coordinate many of the same employees across many different projects, and need to develop workable plans for projects far in advance, avoiding resource conflicts. To address such problems, managers turn to computer software tools for project planning.
Some software tools support basic project management. But in general, such tools are limited to being able to handle a single project (or at most a few projects) which can be manually modeled using the tool. These tools are also limited to modeling a one or a few types of resource for the project, such as, human resources. These existing tools do not support scheduling of many resources across many different projects.